翻訳と辞書
Words near each other
・ C10H6O4
・ C10H6O8
・ C10H7NO3
・ C10H7NO4
・ C10H8
・ C10H8N2
・ C10H8O
・ C10H8O3
・ C10H8O4
・ C10H9N
・ C10k problem
・ C10orf118
・ C10orf76
・ C10orf99
・ C11
C11 (C standard revision)
・ C11 (rifle)
・ C11 road (Namibia)
・ C110
・ C111
・ C115
・ C11H10
・ C11H10N2O2
・ C11H10O4
・ C11H12
・ C11H12N2O
・ C11H12N2O2
・ C11H12O2
・ C11H12O3
・ C11H12O4


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

C11 (C standard revision) : ウィキペディア英語版
C11 (C standard revision)
C11 (formerly C1X) is an informal name for ''ISO/IEC 9899:2011'',〔(ISO/IEC 9899:2011 - Information technology - Programming languages - C )〕 the current standard for the C programming language. It replaces the previous C standard, informally known as C99. This new version mainly standardizes features that have already been supported by common contemporary compilers, and includes a detailed memory model to better support multiple threads of execution. Due to delayed availability of conforming C99 implementations, C11 makes certain features optional, to make it easier to comply with the core language standard.〔〔(WG14 N1460 Subsetting the C Standard )〕
The final draft, N1570,〔 was published in April 2011. The new standard passed its final draft review on October 10, 2011 and was officially ratified by ISO and published as ISO/IEC 9899:2011 on December 8, 2011, with no comments requiring resolution by participating national bodies.
A standard macro __STDC_VERSION__ is defined with value 201112L to indicate that C11 support is available. Some features of C11 are supported by the GCC starting with version 4.6,〔(GCC 4.6 Release Series — Changes, New Features, and Fixes - GNU Project - Free Software Foundation (FSF) )〕 Clang starting with version 3.1,〔(Clang 3.1 Release Notes )〕 and IBM XL C starting with version 12.1.〔(Support for ISO C11 added to IBM XL C/C++ compilers )〕
== Changes from C99 ==
The standard includes several changes to the C99 language and library specifications, such as:〔
* Alignment specification (_Alignas specifier, _Alignof operator, aligned_alloc function, header file)
* The _Noreturn function specifier
* Type-generic expressions using the _Generic keyword. For example, the following macro cbrt(x) translates to cbrtl(x), cbrt(x) or cbrtf(x) depending on the type of x:

#define cbrt(x) _Generic((x), long double: cbrtl, \
default: cbrt, \
float: cbrtf)(x)

* Multi-threading support (_Thread_local storage-class specifier, header including thread creation/management functions, mutex, condition variable and thread-specific storage functionality, as well as the _Atomic type qualifier and for uninterruptible object access).
* Improved Unicode support based on the C Unicode Technical Report ISO/IEC TR 19769:2004 (char16_t and char32_t types for storing UTF-16/UTF-32 encoded data, including conversion functions in and the corresponding u and U string literal prefixes, as well as the u8 prefix for UTF-8 encoded literals).〔
* Removal of the gets function, deprecated in the previous C language standard revision, ISO/IEC 9899:1999/Cor.3:2007(E), in favor of a new safe alternative, gets_s.
* Bounds-checking interfaces (Annex K).〔(【引用サイトリンク】title=API02-C. Functions that read or write to or from an array should take an argument to specify the source or target size )
* Analyzability features (Annex L).
* More macros for querying the characteristics of floating point types, concerning subnormal floating point numbers and the number of decimal digits the type is able to store.
* Anonymous ''structures'' and ''unions'', useful when unions and structures are nested, e.g. in .
* Static assertions, which are evaluated during translation at a later phase than #if and #error, when types are understood by the translator.
* An exclusive create-and-open mode ("…x" suffix) for fopen. This behaves like O_CREAT|O_EXCL in POSIX, which is commonly used for lock files.
* The quick_exit function as a third way to terminate a program, intended to do at least minimal deinitialization if termination with exit fails.〔(WG14 N1327 Abandoning a Process )〕
* Macros for the construction of complex values (partly because real + imaginary
*I
might not yield the expected value if imaginary is infinite or NaN).〔

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「C11 (C standard revision)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.